package jgenerator;

import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JOptionPane;


@SuppressWarnings("serial")
public class GenerateAction extends AbstractAction {
	private GeneratorGUI fenetre;
	
	
	public GenerateAction(GeneratorGUI fenetre,String texte){
		super(texte);
		this.fenetre = fenetre;
	}
	@Override
	public void actionPerformed(ActionEvent arg0) {
		int nbElements = fenetre.getModeleGenerateur().length;
		String[] modeles = new String[nbElements];
		boolean ajouterEspace = fenetre.getAjouterEspace().isSelected();
		for(int i=0;i<nbElements;i++){
			modeles[i] = fenetre.getModeleGenerateurAtPosition(i).getText();
		}
		
		String modeleFinLigne = fenetre.getFinDeLigne().getText();
		String generateurMinIter = fenetre.getDebutIteration().getText();
		String generateurMaxIter = fenetre.getFinIteration().getText();
		 try{
			 int generateurMinIterDouble = Integer.parseInt(generateurMinIter);//On convertit cette valeur en un nombre
			 int generateurMaxIterDouble = Integer.parseInt(generateurMaxIter);//On convertit cette valeur en un nombre
			 Generator gen = new Generator(modeles,modeleFinLigne,generateurMinIterDouble,generateurMaxIterDouble,ajouterEspace);
			 fenetre.getTexteGenere().setText(gen.generate());
			 //Stocke dans le presse papiers
			 Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(gen.generate()), null);
			 
	}catch(NumberFormatException e){
		JOptionPane.showMessageDialog(null,
			    "Please input an integer value",
			    "Parsing error",
			    JOptionPane.ERROR_MESSAGE);
		
	}
    
	}/**actionPerformed**/ 

}/*CalculAction*/
